qs.parse()、qs.stringify()、JSON.parse()、JSON.stringify()示例

本文只是几个例子没有详细研究各个方法

在写前端的时候经常会遇到对数据格式进行处理的情况,其中qs.parse()、qs.stringify()、JSON.parse()、JSON.stringify()也是常用的几种方法,对以上使用方法进行总结记下来以便之后查看方便。

一、JSON.parse()用于从一个字符串中解析出json对象

1
2
3
4
5
6
7
8
let str = '[{"userId": "1","id": "1","title": "delectus aut autem","completed": "false"},{"userId": "1","id": "2","title": "quis ut nam facilis et officia qui","completed": "false"},{"userId": "1","id": "3","title": "fugiat veniam minus","completed": "false"},{"userId": "1","id": "4","title": "et porro tempora","completed": "true"}]';

let arr = JSON.parse(str); //str必须满足引号使用规范,即:双引号和单引号相互嵌套

arr:[{userId: "1", id: "1", title: "delectus aut autem", completed: "false"},
{userId: "1", id: "2", title: "quis ut nam facilis et officia qui", completed: "false"},
{userId: "1", id: "3", title: "fugiat veniam minus", completed: "false"},
{userId: "1", id: "4", title: "et porro tempora", completed: "true"}];

二、JSON.stringify()用于从一个json对象解析出字符串

1
2
3
4
5
6
7
8
let arr = [{userId: "1", id: "1", title: "delectus aut autem", completed: "false"},
{userId: "1", id: "2", title: "quis ut nam facilis et officia qui", completed: "false"},
{userId: "1", id: "3", title: "fugiat veniam minus", completed: "false"},
{userId: "1", id: "4", title: "et porro tempora", completed: "true"}];

let str = JSON.stringify(arr);//全是双引号

str:'[{"userId":"1","id":"1","title":"delectus aut autem","completed":"false"},{"userId":"1","id":"2","title":"quis ut nam facilis et officia qui","completed":"false"},{"userId":"1","id":"3","title":"fugiat veniam minus","completed":"false"},{"userId":"1","id":"4","title":"et porro tempora","completed":"true"}]';

三、qs.parse()将URL解析成对象的形式

1
2
3
4
5
6
7
8
let url = 'method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0';


let obj = qs.parse(url);//
obj:{
method: "query_sql_dataset_data",
projectId: "85",
appToken: "7d22e38e-5717-11e7-907b-a6006ad3dba0"};

四、qs.stringify()将对象解析成URL的形式

1
2
3
4
5
6
7
8
let obj = {
type: "POST",
dataType: "json",
url: "/users/login"};

let url = qs.stringify( obj)

url:type=POST&dataType=json&url=%2Fusers%2Flogin

qs.stringify(opts.data)
要注意在使用post请求时如果不使用qs.stringify()后台是拿不到数据的。